1. Field of the Invention
The invention relates to virtual appliances and in particular to integrated server-storage deployment planning for virtual appliances.
2. Background Information
Processing virtualization involves simulating several virtual machines (VMs), each running a separate operating system (OS) instance. Each OS may run in a different VM. For example, Xen is a virtual machine monitor (VMM), also known as a hypervisor, for managing the VMs that execute on a host operating system to provide the functionality of several guest operating systems on top of the host, on the same computer hardware (physical machine), at the same time. Virtualization technologies are becoming increasingly commonplace in data centers. These enable applications to be packaged inside virtual machines and allow multiple VMs to run on a single physical machine without interfering with each other. This provides increased utilization of resources and consolidation of server, space and data center costs.
With the increasing adoption of such virtualization technologies, software vendors are increasingly packaging their application stacks as virtual appliances (images or VM appliances) for ease of distribution and deployment. This represents a paradigm shift in software being packaged and distributed. Virtual appliances as fully pre-built, pre-configured and ready-to-run software application packaged with the operating system inside are aimed to eliminate the rising costs associated with installation, configuration and maintenance of complex software stacks.
Existing software distribution methods provide an online directory for certain virtual appliances where users can download applications packaged as ready-to-use virtual machines. Even though many of such virtual appliances are freewares themselves, a few software vendors are increasingly adopting this concept as a way to distribute their technologies more efficiently by packaging their software in virtual appliances.
In that regard, image management (i.e., a set of tools to create, manipulate, distribute and keep track of virtual appliances and images) is being recognized as central to achieving management simplification in such environments. Deploying virtual appliances requires careful planning to decide where to allocate the server and storage resources for a virtual appliance based on the current state and topology of a storage area network (SAN) and the needs of the virtual appliance (e.g., needs for CPU, memory, network bandwidth, etc., on the server side, size; and, performance requirements on the storage side and the estimated I/O throughput required between the server and storage). While VMs are becoming easier to migrate, storage migration is still expensive and hence finding a good initial placement for the storage volumes based on the workload requirements is important. Such integrated deployment planning is a challenging task and becomes more complex with increasing SAN sizes and large numbers of performance parameters. Further, manual allocation does not scale and leads to errors and under-utilization.